ActiveX Form

Otázka od: Suky

20. 11. 2004 16:04

Ahoj,

 jakto, ze mi ActiveX Form neodchytava pretazene soubory? Zaregistruji okno k
 odberu souboru: DragAcceptFiles(Handle, True);
 ovsem nic se nedeje.
 Pokud na ActiveX Form umistim WebBrowser a ma nastavenou property:
 RegisterAsDropTarget := True;
 tak mi tento browser odchytne pretazeny soubor, ktery udalosti:
 OnBeforeNavigate2 dokazu zachytit v promenne URL. Ovsem ma to hacek, ze
 nedokazu odchytit vic souboru, jen jeden.

 Proste mi nejde do hlavy proc mi zaprve nefunguje registrace: DragAcceptFiles
a
 za druhe se ptam, jestli je alespon moznost prijimat pretazene soubory na
 komponentu TWebBrowser.

--
S pozdravem,
 Michal Soukup
 suky@atlas.cz


Odpovedá: Suky

22. 11. 2004 1:18

Dobry den,
20. listopadu 2004, 15:59:55, napsal jste:

S> Ahoj,

S> jakto, ze mi ActiveX Form neodchytava pretazene soubory? Zaregistruji okno
k
S> odberu souboru: DragAcceptFiles(Handle, True);
S> ovsem nic se nedeje.
S> Pokud na ActiveX Form umistim WebBrowser a ma nastavenou property:
S> RegisterAsDropTarget := True;
S> tak mi tento browser odchytne pretazeny soubor, ktery udalosti:
S> OnBeforeNavigate2 dokazu zachytit v promenne URL. Ovsem ma to hacek, ze
S> nedokazu odchytit vic souboru, jen jeden.

S> Proste mi nejde do hlavy proc mi zaprve nefunguje registrace:
DragAcceptFiles a
S> za druhe se ptam, jestli je alespon moznost prijimat pretazene soubory na
S> komponentu TWebBrowser.


 Jelikoz mi tu nikdo neporadil a nastesti mi dokazal pomoc jeden muj kamarad s
 tim, ze mi pomol nasmerovat spravnym smerem, napisu Vam sem reseni.
 Pokud nekdy budete delat ActiveX Form a budete potrebovat Drag&Drop, pouzijte
 IDropTarget interface:

 function DragEnter(const dataObj: IDataObject; grfKeyState: Longint; pt:
TPoint; var dwEffect: Longint): HResult; stdcall;
 function DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint):
HResult; stdcall;
 function DragLeave: HResult; stdcall;
 function Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint;
var dwEffect: Longint): HResult; stdcall;
 function _AddRef: Integer; stdcall;
 function _Release: Integer; stdcall;

 Podrobne info najdete na MSDN a vsude na netu pomoci googla.
 

--
S pozdravem,
 Michal Soukup
 suky@atlas.cz


Odpovedá: Libor Janecek

23. 11. 2004 14:46

Nejak jsem tvoji otazku prehledl.
Pouzij ShellShock komponenty

Libor.J

S> Ahoj,

S> jakto, ze mi ActiveX Form neodchytava pretazene soubory? Zaregistruji
okno k
S> odberu souboru: DragAcceptFiles(Handle, True);
S> ovsem nic se nedeje.
S> Pokud na ActiveX Form umistim WebBrowser a ma nastavenou property:
S> RegisterAsDropTarget := True;
S> tak mi tento browser odchytne pretazeny soubor, ktery udalosti:
S> OnBeforeNavigate2 dokazu zachytit v promenne URL. Ovsem ma to hacek, ze
S> nedokazu odchytit vic souboru, jen jeden.

S> Proste mi nejde do hlavy proc mi zaprve nefunguje registrace:
DragAcceptFiles a
S> za druhe se ptam, jestli je alespon moznost prijimat pretazene soubory
na
S> komponentu TWebBrowser.


 Jelikoz mi tu nikdo neporadil a nastesti mi dokazal pomoc jeden muj kamarad
s
 tim, ze mi pomol nasmerovat spravnym smerem, napisu Vam sem reseni.
 Pokud nekdy budete delat ActiveX Form a budete potrebovat Drag&Drop,
pouzijte
 IDropTarget interface:

 function DragEnter(const dataObj: IDataObject; grfKeyState: Longint; pt:
TPoint; var dwEffect: Longint): HResult; stdcall;
 function DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint):
HResult; stdcall;
 function DragLeave: HResult; stdcall;
 function Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint;
var dwEffect: Longint): HResult; stdcall;
 function _AddRef: Integer; stdcall;
 function _Release: Integer; stdcall;

 Podrobne info najdete na MSDN a vsude na netu pomoci googla.
 

--
S pozdravem,
 Michal Soukup
 suky@atlas.cz